windres

Contents|Index|Previous|Next
`windres`

`windres` may be used to manipulate Windows resources.

Warning:

`windres` is not always built as part of the binary utilities, since it is only useful for Windows targets.

`windres [ options ] [ input-file ] [ output-file ]`
`windres` reads resources from an `input-file` and copies them into an `output-file`. Either file may be in one of three formats:

- `rc`
A text format read by the Resource Compiler.
- `res`
A binary format generated by the Resource Compiler.
- `coff`
A COFF object or executable.

The exact description of these different formats is available in documentation from Microsoft.
When `windres` converts from the `rc` format to the `res` format, it is acting like the Windows Resource Compiler. When `windres` converts from the `res` format to the `coff` format, it is acting like the Windows `CVTRES` program.
When `windres` generates an `rc` file, the output is similar but not identical to the format expected for the input. When an input `rc` file refers to an external filename, an output `rc` file will instead include the file contents.
If the input or output format is not specified, `windres` will guess based on the file name, or, for the input file, the file contents. A file with an extension of `.rc` will be treated as an `rc` file, a file with an extension of `.res` will be treated as a `res` file, and a file with an extension of `.o` or `.exe` will be treated as a COFF format file.

If no output file is specified, `windres` will print the resources in `rc` format to standard output.

The normal use is for you to write an `rc` file, use `windres` to convert it to a COFF file, and then link the COFF file into your application.

This will make the resources described in the `rc` file available to Windows.

`-i filename`
`--input filename`

The name of the input file. If this option is not used, then `windres` will use the first non-option argument as the input, `filename`. If there are no non-option arguments, then `windres` will read from standard input. `windres` can not read a COFF file from standard input.

`-o filename`
`--output filename`

The name of the output file. If this option is not used, then `windres` will use the first non-option argument, after any used for the input, `filename`, as the output, `filename`. If there is no non-option argument, then `windres` will write to standard output. `windres` can not write a COFF file to standard output.

`-I format`
`--input-format format`

The input format to read. `format` may be `res`, `rc`, or `cof`. If no input format is specified, `windres` will guess.

`-O format`
`--output-format format`

The output format to generate. `format` may be `res`, `rc`, or `coff`. If no output format is specified, `windres` will guess.

`-F target`
`--target target`

Specify the BFD `format` to use for a COFF file as input or output. This is a BFD target name; you can use the `--help` option to see a list of supported targets. Normally `windres` will use the default format, which is the first one listed by the `--help` option.

`--preprocessor program`

When `windres` reads an `rc` file, it runs it through the C preprocessor first. This option may be used to specify the preprocessor to use, including any leading arguments. The default preprocessor argument uses the following commands and arguments:

`gcc -E -xc-header DRC_INVOKED.`

`--include-dir` directory

Specify an `include` directory to use when reading an `rc` file.
`windres` will pass this to the preprocessor as an `-I` option.
`windres` will also search this directory when looking for files named in the `rc` file.

`--define sym[=` `val` `]`

Specify a `-D` option to pass to the preprocessor when reading an `rc` file.

`--language val`

Specify the default language to use when reading an `rc` file.
`val` should be a hexadecimal language code. The low eight bits are the language, and the high eight bits are the sub-language.

`--help`

Prints a usage summary.

`--version`

Prints the version number for `windres`.

`--yydebug`

If `windres` is compiled with `YYDEBUG` defined as `1`, this will turn on parser debugging.

Top|Contents|Index|Previous|Next